home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: R-H-S
/
R-H-S Tools 27 (19xx)(Reiner Hobbold Software)(DE)(PD).zip
/
R-H-S Tools 27 (19xx)(Reiner Hobbold Software)(DE)(PD).adf
/
Main
(
.txt
)
< prev
next >
Wrap
AmigaBASIC Source Code
|
1978-01-03
|
18KB
|
623 lines
SCREEN 1,640,220,4,2
WINDOW 1," Quizmaster Version 2.0 written in 1989 by F. Zöllner",,0,1
PALETTE 0,0,0,0:PALETTE 1,0,0,0.75:PALETTE 2,1,1,1
PALETTE 3,1,0,0:PALETTE 4,0,1,0:PALETTE 5,0.4,0.4,1
PALETTE 6,1,1,0:PALETTE 7,0,1,1:PALETTE 8,0,0,0.3
PALETTE 9,0.75,0.75,0.75:PALETTE 15,1,1,1
PALETTE 10,0,1,1:PALETTE 11,0.4,0,0.4
PALETTE 12,0.6,0,0.6:PALETTE 13,1,0,1
PALETTE 14,0.8,0.8,1:pr$="·"
pal(1)=0:pal(2)=0:pal(3)=0.75
pala(1)=0:pala(2)=0:pala(3)=0.3
RANDOMIZE TIMER
DIM feld(40)
DIM gen(40)
FOR i=1 TO 4:score(i)=100:NEXT i
:::
:: :
: :: :::::
risiko = 5 : : : :
joker = 5 : :::::::::::
max = 300 : : : :
: :: :::::
:: :
:::
LINE (12,6)-(618,200),1,b:PAINT (1,1),1,1
LINE (8,4)-(622,202),0,b:LINE (7,4)-(620,202),0,b
FOR t=1 TO 4
FOR i=1 TO 10:COLOR 7:LOCATE 1+t*2,40+3*i:PRINT "?":NEXT i,t
FOR t=0 TO 3:FOR i=0 TO 9
LINE (330+i*24,13+t*16)-(350+i*24,26+t*16),1,b
NEXT i,t
LINE (324,10)-(572,77),1,b:LINE (323,10)-(573,77),1,b
LINE (36,181)-(590,193),1,b:LINE (35,181)-(591,193),1,b
COLOR 1:LOCATE 24,7:PRINT ">"
COLOR 3:LOCATE 3,5:PRINT "Spieler 1 :"
COLOR 4:LOCATE 4,5:PRINT "Spieler 2 :"
COLOR 5:LOCATE 5,5:PRINT "Spieler 3 :"
COLOR 6:LOCATE 6,5:PRINT "Spieler 4 :"
LINE (24,13)-(280,50),1,b:LINE (20,11)-(284,52),1,b
COLOR 7:LOCATE 9,5:PRINT "Zeit :"
LINE (24,60)-(280,74),1,b:LINE (20,58)-(284,76),1,b
LINE (84,58)-(88,76),1,b
LOCATE 12,5:PRINT "Frage :"
LINE (24,85)-(604,97),1,b:LINE (23,85)-(605,97),1,b
LOCATE 14,5:PRINT "Antworten :"
LINE (24,100)-(604,162),1,b
LOCATE 14,18:PRINT "(1)"
LOCATE 16,18:PRINT "(2)"
LOCATE 18,18:PRINT "(3)"
LOCATE 20,18:PRINT "(4)"
PAINT (14,7),8,1
LOCATE 12,14:COLOR 2
PRINT "Wieviele Mitspieler wünschen Sie ?"
ant$(1)="Einen":ant$(2)="Zwei":ant$(3)="Drei":ant$(4)="Vier"
GOSUB Antworten:sonder=1:ant=1:GOSUB Auswahl:sonder=0
IF ant<4 THEN LOCATE 6,5:PRINT " "
IF ant<3 THEN LOCATE 5,5:PRINT " "
IF ant<2 THEN LOCATE 4,5:PRINT " "
anz=ant
GOSUB Clearen
GOTO Quiz
Quiz:
FOR i=1 TO joker
Objoker: a=INT(40*RND(1))+1
IF feld(a)<>0 THEN GOTO Objoker
feld(a)=3:NEXT i
FOR i=1 TO risiko
Obrisiko: a=INT(40*RND(1))+1
IF feld(a)<>0 THEN GOTO Obrisiko
feld(a)=4:NEXT i
Start:
FOR ass=1 TO anz
LOCATE 3,18:COLOR 2:PRINT score(1)
IF anz>1 THEN LOCATE 4,18:COLOR 2:PRINT score(2)
IF anz>2 THEN LOCATE 5,18:COLOR 2:PRINT score(3)
IF anz>3 THEN LOCATE 6,18:COLOR 2:PRINT score(4)
Okay:
LOCATE 24,9:COLOR ass+2:PRINT "Spieler"ass", wählen Sie ein freies Feld !"
GOSUB Eingabe
IF feld(wahl)=1 THEN GOTO Fehler
IF feld(wahl)=3 THEN GOTO Jokerda
IF feld(wahl)=4 THEN GOTO Risikoda
GOSUB Fragelesen
ok=LEN(frage$)
IF ok<59 THEN FOR i=1 TO 62-ok:frage$=frage$+" ":NEXT i
LOCATE 12,14:COLOR 2:PRINT frage$
GOSUB Antworten
ant=1:GOSUB Auswahl
IF ant<>wahr THEN GOSUB FalscheAntwort:GOTO Okay1
IF ant=wahr THEN GOSUB RichtigeAntwort
LOCATE 2+ass,18:COLOR 15:PRINT score(ass)
FOR i=1 TO 0 STEP-0.025:PALETTE 15,i,i,i:NEXT i
score(ass)=score(ass)+nun*10
LOCATE 2+ass,18:COLOR 15:PRINT score(ass)
FOR i=0 TO 1 STEP+0.025:PALETTE 15,i,i,i:NEXT i
Okay1:
IF rfu=1 AND ant<>wahr THEN GOSUB Richtiganzeigen
GOSUB Clearen
PALETTE 15,1,1,1
Loop55:
IF wahl>0 THEN check=2:che=wahl
IF wahl>10 THEN check=4:che=wahl-10
IF wahl>20 THEN check=6:che=wahl-20
IF wahl>30 THEN check=8:che=wahl-30
LOCATE 1+check,40+che*3:COLOR ass+2:PRINT pr$
feld(wahl)=1
fertig=fertig+1
IF fertig=40 THEN GOTO Schluss
pr$="·"
NEXT ass
GOTO Start
FalscheAntwort:
LOCATE 24,9:COLOR 14
PRINT " Ihre Antwort war leider Inkorrekt. "
SOUND 261.63,2:SOUND 0,1:SOUND 261.63,2:SOUND 0,1
SOUND 261.63,2:SOUND 220,8
FOR i=1 TO 1700:NEXT i
LOCATE 24,9:PRINT " "
RETURN
RichtigeAntwort:
LOCATE 24,9:COLOR 14
PRINT " Ihre Antwort war Korrekt. "
SOUND 261.63,2:SOUND 293.66,2:SOUND 329.63,2:SOUND 392,4
SOUND 329.63,2:SOUND 392,5
FOR i=1 TO 1700:NEXT i
LOCATE 24,9:PRINT " "
RETURN
Risikoda:
SOUND 294,4:SOUND 392,7:SOUND 294,4:SOUND 392,7:SOUND 294,4:SOUND 392,10
IF rju=1 THEN pr$="R"
LOCATE 24,9:COLOR 14:PRINT " !¡! ·RISIKO· !¡! "
LOCATE 12,14:COLOR 2+ass:PRINT "Spieler "ass", wieviel wollen Sie setzen ?"
ant$(1)="10 %":ant$(2)="20 %"
ant$(3)="50 %":ant$(4)="75 %"
GOSUB Antworten
sonder=1:ant=1:GOSUB Auswahl:sonder=0
IF ant=1 THEN b=10
IF ant=2 THEN b=20
IF ant=3 THEN b=50
IF ant=4 THEN b=75
a=(score(ass)\100)*b
summe=INT(a)
LOCATE 2+ass,18:COLOR 15:PRINT score(ass)
FOR i=1 TO 0 STEP-0.025:PALETTE 15,i,i,i:NEXT i
score(ass)=score(ass)-summe
LOCATE 2+ass,18:COLOR 15:PRINT score(ass)
FOR i=0 TO 1 STEP+0.025:PALETTE 15,i,i,i:NEXT i
GOSUB Clearen
GOSUB Fragelesen
ok=LEN(frage$)
IF ok<59 THEN FOR i=1 TO 62-ok:frage$=frage$+" ":NEXT i
LOCATE 12,14:COLOR 2:PRINT frage$
GOSUB Antworten
ant=1:GOSUB Auswahl
IF ant<>wahr THEN GOSUB FalscheAntwort:GOTO Risi1
IF ant=wahr THEN GOSUB RichtigeAntwort:GOTO Risi1
Risi1:
IF ant<>wahr THEN GOTO Risi2
a=summe*2
LOCATE 2+ass,18:COLOR 15:PRINT score(ass)
FOR i=1 TO 0 STEP-0.025:PALETTE 15,i,i,i:NEXT i
score(ass)=score(ass)+a
LOCATE 2+ass,18:COLOR 15:PRINT score(ass)
FOR i=0 TO 1 STEP+0.025:PALETTE 15,i,i,i:NEXT i
Risi2:
IF rfu=1 AND ant<>wahr THEN GOSUB Richtiganzeigen
GOSUB Clearen
GOTO Loop55
Jokerda:
IF rju=1 THEN pr$="J"
LOCATE 24,9:COLOR 11:PRINT " JOKER ";
COLOR 12:PRINT "JOKER ";:COLOR 13:PRINT "JOKER ";
COLOR 12:PRINT "JOKER ";:COLOR 11:PRINT "JOKER"
LOCATE 2+ass,18:COLOR 15:PRINT score(ass)
FOR i=1 TO 0 STEP-0.025:PALETTE 15,i,i,i:NEXT i
score(ass)=score(ass)+200
SOUND 261.63,2:SOUND 293.66,2:SOUND 329.63,2:SOUND 392,4
SOUND 0,0.5:SOUND 392,3:SOUND 0,0.5:SOUND 392,3:SOUND 349.23,2
SOUND 293.66,2:SOUND 261.63,5
LOCATE 2+ass,18:COLOR 15:PRINT score(ass)
FOR i=0 TO 1 STEP+0.025:PALETTE 15,i,i,i:NEXT i
FOR i=1 TO 1000:NEXT i
LOCATE 24,9:PRINT " "
GOTO Loop55
Eingabe:
platz=1
LINE (329,12)-(351,27),10,b
Einga1:
xy$=INKEY$
IF xy$=CHR$(127) THEN torf=1:GOTO Neueinstellung
IF xy$=CHR$(139) THEN torf=2:GOTO Neueinstellung
IF xy$=CHR$(129) THEN torf=3:GOTO Neueinstellung
IF xy$=CHR$(136) THEN faab=1:torf=1:GOSUB Farbaendern
IF xy$=CHR$(137) THEN faab=2:torf=1:GOSUB Farbaendern
IF xy$=CHR$(138) THEN faab=3:torf=1:GOSUB Farbaendern
IF xy$="8" THEN faab=1:torf=2:GOSUB Farbaendern
IF xy$="9" THEN faab=2:torf=2:GOSUB Farbaendern
IF xy$="0" THEN faab=3:torf=2:GOSUB Farbaendern
IF xy$=CHR$(133) THEN faab=1:torf=1:GOSUB Farbaendern1
IF xy$=CHR$(134) THEN faab=2:torf=1:GOSUB Farbaendern1
IF xy$=CHR$(135) THEN faab=3:torf=1:GOSUB Farbaendern1
IF xy$="5" THEN faab=1:torf=2:GOSUB Farbaendern1
IF xy$="6" THEN faab=2:torf=2:GOSUB Farbaendern1
IF xy$="7" THEN faab=3:torf=2:GOSUB Farbaendern1
IF STICK(2)=1 THEN a=1:GOTO Einga2
IF STICK(2)=-1 THEN a=2:GOTO Einga2
IF STICK(3)=1 THEN a=3:GOTO Einga2
IF STICK(3)=-1 THEN a=4:GOTO Einga2
IF STRIG(3)<>0 THEN Einga0
GOTO Einga1
Einga2:
IF soo=0 THEN SOUND 200,1:SOUND 300,1
check=platz
IF a=1 THEN platz=platz+1:IF platz=41 THEN platz=1
IF a=2 THEN platz=platz-1:IF platz=0 THEN platz=40
IF a=3 THEN platz=platz+10:IF platz>40 THEN platz=platz-40
IF a=4 THEN platz=platz-10:IF platz<1 THEN platz=platz+40
GOSUB Loeschen
check=platz
IF platz>30 THEN Ein3
IF platz>20 THEN Ein2
IF platz>10 THEN Ein1
LINE (329+((check-1)*24),12)-(351+((check-1)*24),27),10,b
GOTO Ein4
Ein1:
check=check-10
LINE (329+((check-1)*24),28)-(351+((check-1)*24),43),10,b
GOTO Ein4
Ein2:
check=check-20
LINE (329+((check-1)*24),44)-(351+((check-1)*24),59),10,b
GOTO Ein4
Ein3:
check=check-30
LINE (329+((check-1)*24),60)-(351+((check-1)*24),75),10,b
GOTO Ein4
Ein4:
GOTO Einga1
Einga0:
IF soo=0 THEN SOUND 400,1:SOUND 500,1:SOUND 600,1:SOUND 500,1:SOUND 700,1
FOR i=1 TO 0 STEP-0.025:PALETTE 10,0,i,i:NEXT i
FOR i=0 TO 1 STEP+0.025:PALETTE 10,0,i,i:NEXT i
FOR i=1 TO 0 STEP-0.025:PALETTE 10,0,i,i:NEXT i
wahl=platz
check=platz
GOSUB Loeschen
PALETTE 10,0,1,1
RETURN
Loeschen:
IF check>30 THEN Loe3
IF check>20 THEN Loe2
IF check>10 THEN Loe1
LINE (329+((check-1)*24),12)-(351+((check-1)*24),27),0,b
RETURN
Loe1:
check=check-10
LINE (329+((check-1)*24),28)-(351+((check-1)*24),43),0,b
RETURN
Loe2:
check=check-20
LINE (329+((check-1)*24),44)-(351+((check-1)*24),59),0,b
RETURN
Loe3:
check=check-30
LINE (329+((check-1)*24),60)-(351+((check-1)*24),75),0,b
RETURN
Fehler:
COLOR ass+2:LOCATE 24,9
SOUND 700,5
PRINT " !¡! DIESES FELD IST BEREITS EINMAL GEWÄHLT WORDEN !¡!"
FOR i=0 TO 1 STEP+0.05:PALETTE 0,i,i,i:NEXT i
FOR i=1 TO 0 STEP-0.05:PALETTE 0,i,i,i:NEXT i
FOR i=1 TO 1000:NEXT i
LOCATE 24,9:PRINT " "
GOTO Okay
Fragelesen:
a=INT(max*RND(1))+1
FOR i=1 TO fertig+1:IF a=gen(i) THEN GOTO Fragelesen
NEXT i
gen(fertig+1)=a
a$="Fragen/QM."
b$=STR$(a)
b$=RIGHT$(b$,(LEN(b$)-1))
a$=a$+b$
OPEN a$ FOR INPUT AS 1
INPUT #1,daten$
CLOSE 1
check=1
FOR i=1 TO LEN(daten$)
IF MID$(daten$,i,1)="?" AND check=1 THEN nach=i+1:frage$=MID$(daten$,1,i-1):check=2:GOTO FL
IF MID$(daten$,i,1)="?" AND check=2 THEN ant$(1)=MID$(daten$,nach,i-nach):check=3:nach=i+1:GOTO FL
IF MID$(daten$,i,1)="?" AND check=3 THEN ant$(2)=MID$(daten$,nach,i-nach):check=4:nach=i+1:GOTO FL
IF MID$(daten$,i,1)="?" AND check=4 THEN ant$(3)=MID$(daten$,nach,i-nach):check=5:nach=i+1:GOTO FL
IF MID$(daten$,i,1)="?" AND check=5 THEN ant$(4)=MID$(daten$,nach,i-nach):GOTO FL2
FL:
NEXT i
FL2:
wahr$=RIGHT$(daten$,1)
wahr=VAL(wahr$)
frage$=frage$+" ?"
RETURN
Auswahl:
flens=0
PALETTE 15,1,1,1
a=INT(TIMER):voll=a+20
IF sonder=1 THEN GOTO Auswahl1
LINE (100,65)-(260,69),11,bf
LINE (100,66)-(260,68),12,bf
LINE (100,67)-(260,67),13
Auswahl1:
IF sonder=0 THEN GOSUB Zeit
LINE (168,86+ant*16)-(LEN(ant$(ant))*8+182,96+ant*16),15,b
Auswa1:
IF sonder=0 THEN GOSUB Zeit
IF STICK(3)=-1 THEN GOSUB Auswa3:ant=ant-1:GOTO Auswa2
IF STICK(3)=1 THEN GOSUB Auswa3:ant=ant+1:GOTO Auswa2
IF STRIG(3)<>0 THEN GOTO Auswa4
GOTO Auswa1
Auswa2:
IF ant=0 THEN ant=4
IF ant=5 THEN ant=1
GOTO Auswahl1
Auswa3:
LINE (168,86+ant*16)-(LEN(ant$(ant))*8+182,96+ant*16),0,b
RETURN
Auswa4:
FOR i=1 TO 0 STEP -0.05:PALETTE 15,i,i,i:NEXT i
FOR i=0 TO 1 STEP +0.05:PALETTE 15,i,i,i:NEXT i
FOR i=1 TO 0 STEP -0.05:PALETTE 15,i,i,i:NEXT i
LINE (168,86+ant*16)-(LEN(ant$(ant))*8+182,96+ant*16),0,b
PALETTE 15,1,1,1
LINE (100,65)-(260,69),0,bf
RETURN
Zeit:
nun=voll-INT(TIMER)
IF nun<1 THEN nun=0.5
IF nun=0.5 AND flens=0 THEN SOUND 165,5:SOUND 195,2:SOUND 165,5:flens=1
LINE (260-(20-nun)*8,64)-(260,70),0,bf
RETURN
Antworten:
COLOR 9
LOCATE 14,23:PRINT ant$(1)
LOCATE 16,23:PRINT ant$(2)
LOCATE 18,23:PRINT ant$(3)
LOCATE 20,23:PRINT ant$(4)
RETURN
Clearen:
LOCATE 12,14
PRINT " "
LINE (166,102)-(580,160),0,bf
RETURN
Neueinstellung:
SOUND 100+torf*100,1
IF torf=1 AND rju=0 THEN rju=1:LOCATE 4,75:COLOR 1,8:PRINT "U":COLOR 3,0:GOTO Neueinst
IF torf=1 AND rju=1 THEN rju=0:LOCATE 4,75:COLOR 1,8:PRINT " ":COLOR 3,0:GOTO Neueinst
IF torf=2 AND rfu=0 THEN rfu=1:LOCATE 8,75:COLOR 1,8:PRINT "R":COLOR 3,0:GOTO Neueinst
IF torf=2 AND rfu=1 THEN rfu=0:LOCATE 8,75:COLOR 1,8:PRINT " ":COLOR 3,0:GOTO Neueinst
IF torf=3 AND soo=0 THEN soo=1:LOCATE 6,75:COLOR 1,8:PRINT "S":COLOR 3,0:GOTO Neueinst
IF torf=3 AND soo=1 THEN soo=0:LOCATE 6,75:COLOR 1,8:PRINT " ":COLOR 3,0:GOTO Neueinst
Neueinst:
GOTO Einga1
Richtiganzeigen:
PALETTE 15,0.75,0.75,0.75:COLOR 15
IF wahr<>1 THEN LOCATE 14,23:PRINT ant$(1)
IF wahr<>2 THEN LOCATE 16,23:PRINT ant$(2)
IF wahr<>3 THEN LOCATE 18,23:PRINT ant$(3)
IF wahr<>4 THEN LOCATE 20,23:PRINT ant$(4)
FOR i=0.75 TO 0 STEP-0.03:PALETTE 15,i,i,i
IF soo=0 THEN SOUND 200+i*200,0.3
IF soo=1 THEN SOUND 0,1
NEXT i
FOR i=1 TO 1000:NEXT i
RETURN
Farbaendern:
IF torf=1 THEN pal(faab)=pal(faab)+0.05:IF pal(faab)>1 THEN pal(faab)=1
IF torf=2 THEN pal(faab)=pal(faab)-0.05:IF pal(faab)<0 THEN pal(faab)=0
PALETTE 1,pal(1),pal(2),pal(3)
RETURN
Farbaendern1:
IF torf=1 THEN pala(faab)=pala(faab)+0.05:IF pala(faab)>1 THEN pala(faab)=1
IF torf=2 THEN pala(faab)=pala(faab)-0.05:IF pala(faab)<0 THEN pala(faab)=0
PALETTE 8,pala(1),pala(2),pala(3)
RETURN
Schluss:
FOR i=1 TO 2500:NEXT i
GOSUB Rollen
OPEN "df0:Data/QM.high" FOR INPUT AS 1
FOR i=1 TO 4:INPUT #1,high(i):NEXT i:CLOSE 1
OPEN "df0:Data/QM.namen" FOR INPUT AS 1
FOR i=1 TO 4:INPUT #1,namen$(i):NEXT i:CLOSE 1
GOSUB Rollen1
IF anz=2 THEN GOTO Zweier2
IF anz=3 THEN GOTO Dreier3
IF anz=4 THEN GOTO Vierer4
Einser1:
CLS
modus=1:sieger=1:GOSUB Spielerschrift
LOCATE 12,2:COLOR 15:PRINT "Sie erreichten"score(1)"Punkte."
IF score(1)>high(1) THEN GOTO Eintragung
GOTO Abfrageamende
Zweier2:
CLS
IF score(1)>score(2) THEN sieger=1
IF score(2)>score(1) THEN sieger=2
IF score(1)=score(2) THEN GOTO Unentschieden
GOSUB Spielerschrift
LOCATE 12,2:COLOR 15
IF sieger=1 THEN PRINT "Spieler 1 besiegte Spieler 2 mit einen Vorsprung von "score(1)-score(2)"."
IF sieger=2 THEN PRINT "Spieler 2 besiegte Spieler 1 mit einen Vorsprung von "score(2)-score(1)"."
FOR i=1 TO 0 STEP-0.02:PALETTE 15,i,i,i:NEXT i
FOR i=0 TO 1 STEP+0.02:PALETTE 15,i,i,i:NEXT i:PRINT:PRINT:PRINT
modus=2
IF score(sieger)>high(2) THEN GOTO Eintragung
GOTO Abfrageamende
Dreier3:
CLS:modus=3
IF score(1)=score(2) OR score(1)=score(3) OR score(2)=score(3) THEN GOTO Unentschieden
IF score(1)>score(2) AND score(1)>score(3) THEN sieger=1
IF score(2)>score(1) AND score(2)>score(3) THEN sieger=2
IF score(3)>score(1) AND score(1)>score(2) THEN sieger=3
GOSUB Spielerschrift
LOCATE 12,2:COLOR 15
PRINT "Spieler"sieger"gewinnt mit"score(sieger)"Punkten."
IF score(sieger)>high(3) THEN GOTO Eintragung
GOTO Abfrageamende
Vierer4:
CLS:modus=4
IF score(1)=score(2) OR score(1)=score(3) OR score(1)=score(4) THEN GOTO Unentschieden
IF score(2)=score(3) OR score(2)=score(4) OR score(3)=score(4) THEN GOTO Unentschieden
IF score(1)>score(2) AND score(1)>score(3) AND score(1)>score(4) THEN sieger=1
IF score(2)>score(1) AND score(2)>score(3) AND score(2)>score(4) THEN sieger=2
IF score(3)>score(2) AND score(3)>score(1) AND score(3)>score(4) THEN sieger=3
IF score(4)>score(2) AND score(4)>score(3) AND score(4)>score(1) THEN sieger=4
GOSUB Spielerschrift
LOCATE 12,2:COLOR 15
PRINT "Spieler"sieger"gewinnt mit"score(sieger)"Punkten."
IF score(sieger)>high(4) THEN GOTO Eintragung
GOTO Abfrageamende
Spielerschrift:
COLOR 2+sieger
PRINT " ___ ___ _ ___ ___ ___
PRINT " | | | | | | | | |
PRINT " |___ |___| | |_ | |_ |___|
PRINT " | | | | | | | \
PRINT " ___| | _|_ |___ |___ |___ | \
PALETTE 11,0,0.4,0.4
PALETTE 12,0,0.6,0.6
PALETTE 13,0,1,1
LINE (0,60)-(640,64),11,bf
LINE (0,61)-(640,63),12,bf
LINE (0,62)-(640,62),13
IF sieger=1 THEN GOSUB Oins
IF sieger=2 THEN GOSUB Zwoi
IF sieger=3 THEN GOSUB Droi
IF sieger=4 THEN GOSUB Vuer
RETURN
Oins:
LOCATE 1,52:PRINT " _"
LOCATE 2,52:PRINT " /|"
LOCATE 3,52:PRINT "/ |"
LOCATE 4,52:PRINT " |"
LOCATE 5,52:PRINT " _|_"
RETURN
Zwoi:
LOCATE 1,52:PRINT " ___ "
LOCATE 2,52:PRINT " |"
LOCATE 3,52:PRINT " ___|"
LOCATE 4,52:PRINT "| "
LOCATE 5,52:PRINT "|___ "
RETURN
Droi:
LOCATE 1,52:PRINT "___ "
LOCATE 2,52:PRINT " |"
LOCATE 3,52:PRINT "___|"
LOCATE 4,52:PRINT " |"
LOCATE 5,52:PRINT "___|"
RETURN
Vuer:
LOCATE 1,52:PRINT " "
LOCATE 2,52:PRINT "| |"
LOCATE 3,52:PRINT "|___|_"
LOCATE 4,52:PRINT " |"
LOCATE 5,52:PRINT " |"
RETURN
Eintragung:
COLOR 15:PRINT " Spieler"sieger", Sie haben eine neue High-Score aufgestellt..."
PRINT
PRINT " Alte High-Score: "high(modus)
PRINT " Neue High-Score: "score(sieger)
high(modus)=score(sieger)
SOUND 261.63,9:SOUND 0,1:SOUND 261.63,5:SOUND 0,1
SOUND 261.63,2:SOUND 0,1:SOUND 261.63,8:SOUND 196,7
SOUND 329.63,9:SOUND 0,1:SOUND 329.63,5:SOUND 0,1
SOUND 329.63,2:SOUND 0,1:SOUND 329.63,8:SOUND 261.63,7
SOUND 392,15:SOUND 290,13:SOUND 261.63,15
Lopop:
COLOR 15:PRINT
PRINT " Tragen Sie nun Ihren Namen ein, Spieler"sieger;:COLOR 2+sieger
INPUT "> ",namen$(modus)
IF LEN(namen$)>10 THEN PRINT :PRINT "ZU LANG !!!":GOTO Lopop
OPEN "df0:Data/QM.high" FOR OUTPUT AS 1
FOR i=1 TO 4:PRINT #1,high(i):NEXT i:CLOSE 1
OPEN "df0:Data/QM.namen" FOR OUTPUT AS 1
FOR i=1 TO 4:PRINT #1,namen$(i):NEXT i:CLOSE 1
GOTO Ende
Ende:
CLS:PRINT:COLOR 2
PRINT " Ende dieses Spiels."
PRINT:PRINT
PRINT " Highscores:":PRINT
COLOR 3:PRINT " 1-Spieler-Modus: "namen$(1)" mit"high(1)" Punkten."
COLOR 4:PRINT " 2-Spieler-Modus: "namen$(2)" mit"high(2)" Punkten."
COLOR 5:PRINT " 3-Spieler-Modus: "namen$(3)" mit"high(3)" Punkten."
COLOR 6:PRINT " 4-Spieler-Modus: "namen$(4)" mit"high(4)" Punkten."
PRINT:PRINT:PRINT:PRINT:COLOR 2
FOR i=1 TO 3000:NEXT i
PRINT " Noch ein Spiel (J/N) ?"
Ende1:
a$=INKEY$:IF a$="" THEN Ende1
IF a$="n" THEN GOTO AbsolutesEnde
IF a$="j" THEN RUN
GOTO Ende1
Unentschieden:
CLS
COLOR 15
PRINT " __ _____ __ __ _ __ _ __
PRINT " | | | | | | | | | | | | | | | | \ | | |
PRINT " | | |\ | |_ |\ | | |_ | |__| | |_ | | |_ |\ |
PRINT " | | | \ | | | \ | | | | | | | | | | | | \ |
PRINT " |___| | \| |__ | \| | __| |__| | | | |__ |_/ |__ | \|
PRINT:PRINT
FOR i=1 TO 0 STEP-0.02:PALETTE 15,i,i,i:NEXT i
FOR i=0 TO 1 STEP+0.02:PALETTE 15,i,i,i:NEXT i
PRINT:COLOR 3:PRINT " Spieler 1 erreichte"score(1)"Punkte."
PRINT:COLOR 4:PRINT " Spieler 2 erreichte"score(2)"Punkte."
IF anz>2 THEN PRINT:COLOR 5:PRINT " Spieler 3 erreichte"score(3)"Punkte."
IF anz>3 THEN PRINT:COLOR 6:PRINT " Spieler 4 erreichte"score(4)"Punkte."
PRINT:GOTO Abfrageamende
Abfrageamende:
SOUND 392,6:SOUND 515,7:SOUND 392,2:SOUND 440,4:SOUND 349.23,4
SOUND 293.66,7:SOUND 392,6:SOUND 329.63,3:SOUND 261.63,4
SOUND 329.63,4:SOUND 293.66,7:SOUND 0,3
SOUND 392,6:SOUND 515,7:SOUND 392,2:SOUND 440,4:SOUND 349.23,4
SOUND 293.66,7:SOUND 392,6:SOUND 329.63,3:SOUND 261.63,4
SOUND 261.63,1:SOUND 293.66,4:SOUND 261.63,10
FOR i=1 TO 6000:NEXT i
GOTO Ende
AbsolutesEnde:
CLS:PALETTE 15,0,0,0:COLOR 15:PRINT
PRINT " Dank an (alphabetisch sortiert...)"
PRINT
PRINT " - Andreas"
PRINT " - Bianca"
PRINT " - Peter"
PRINT " - Rolf"
PRINT
PRINT " für die Hilfe beim Erstellen der Fragen und fürs Testspielen."
PRINT:PALETTE 2,0,0,0:PALETTE 3,1,1,1
PRINT:COLOR 2
PRINT " written in 1989 by Florian Zöllner"
FOR i=1 TO 1000:NEXT i
FOR i=0 TO 1 STEP+0.01:PALETTE 15,0,0,i:NEXT i
FOR i=1 TO 4000:NEXT i
FOR t=1 TO 3
FOR i=0 TO 1 STEP+0.015:PALETTE 2,i,i,i:NEXT i
FOR i=1 TO 0 STEP-0.015:PALETTE 2,i,i,i:NEXT i
NEXT t:PRINT:PRINT:PRINT:COLOR 3
FOR i=1 TO 1000:NEXT i
PALETTE 13,0,0,0.35
FOR i=0 TO 0.5 STEP+0.005:PALETTE 2,i,0,i:NEXT i
FOR i=0 TO 1 STEP+0.015:PALETTE 15,0,i,1:NEXT i
FOR i=0 TO 1 STEP+0.015:PALETTE 1,i,i,i:NEXT i
FOR i=0 TO 0.35 STEP+0.005:PALETTE 0,0,0,i:NEXT i
LOCATE 12,3:COLOR 2,13:PRINT " written in 1989 by Florian Zöllner ":COLOR 1,0
PRINT:PRINT:PRINT " Ende.":PRINT
FOR i=0 TO 1 STEP+0.015:PALETTE 13,i,i,0.35:NEXT i
END
Rollen:
FOR i=0 TO 215 STEP+5
LINE (0,i)-(640,i+4),11,bf
LINE (0,i+1)-(640,i+3),12,bf
LINE (0,i+2)-(640,i+2),13
NEXT i
RETURN
Rollen1:
FOR i=220 TO 1 STEP-1
LINE (0,i-1)-(640,i-1),13
LINE (0,i)-(640,i),0
NEXT i
RETURN